package com.letoken.platform.app;

import com.letoken.platform.pub.configuration.ThreadPoolConfig;
import com.ulisesbocchio.jasyptspringboot.annotation.EnableEncryptableProperties;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;

@EnableAsync
@EnableConfigurationProperties({ThreadPoolConfig.class})
@ComponentScan({"com.letoken.platform"})
@MapperScan(basePackages = {
        "com.letoken.platform.repo.app",
        "com.letoken.platform.repo.mall.dao",
        "com.letoken.platform.repo.admin",
        "com.letoken.platform.repo.repo",
        "com.letoken.platform.repo.wallet",
        "com.letoken.platform.repo.sss.dao"
})
@SpringBootApplication
@EnableScheduling
@EnableEncryptableProperties
public class AppApplication {

    public static void main(String[] args) {
        SpringApplication.run(AppApplication.class, args);
    }
}
